// 导入所需的函数 `defineConfig`，该函数用于定义ESLint配置
import { defineConfig } from '@soybeanjs/eslint-config';

// 导出默认的ESLint配置对象
export default defineConfig(
  // 第一个参数是ESLint配置对象，包括Vue.js和Unocss的规则配置
  { vue: true, unocss: true },
  {
    // 第二个参数是ESLint规则的具体配置
    rules: {
      // 对于多个单词组成的组件名称，发出警告
      'vue/multi-word-component-names': [
        'warn',
        {
          ignores: ['index', 'App', '[id]', '[url]']
        }
      ],
      // 在模板中要求组件名称使用帕斯卡命名法（PascalCase），发出警告
      'vue/component-name-in-template-casing': [
        'warn',
        'PascalCase',
        {
          // 只检查注册过的组件名称
          registeredComponentsOnly: false,
          // 忽略以 'icon-' 开头的组件名称
          ignores: ['/^icon-/']
        }
      ],
      // 关闭Unocss的特定规则：属性的顺序应该按照指定的方式排列
      'unocss/order-attributify': 'off'
    }
  }
);
